Skip to content

Introduction

tapflow lets your entire team run mobile QA directly in the browser — no developer tools, no device management, no external cloud.

Why tapflow?

SolutionProblem
Appetize / BrowserStackExpensive, app data leaves your network
Physical devicesCost, loss, management overhead
Xcode / Android Studio directlyEvery team member needs their own Mac + Xcode or Android Studio setup
tapflowUse infra you already own, data stays on-prem

In short, tapflow is a self-hosted, open-source alternative to cloud testing services like Appetize and BrowserStack App Live — the same browser-based mobile QA, but builds and test data stay on infrastructure you already own.

How it works

  1. A Mac Agent connects outbound to the relay — no inbound firewall rules needed.
  2. Team opens the dashboard in any browser and sees all available devices.
  3. Touch events are forwarded in real time; the screen streams back to the browser.

Streaming format by platform

  • iOS Simulator: H.264 stream (~30 fps; JPEG fallback on older browsers)
  • Android Emulator: H.264 stream (~30 fps)

Visual quality and latency may differ between the two. Resolution and decoder adapt to each viewer's connection — see Streaming Quality.

Key concepts

  • Relay — the central server. Routes traffic between agents and browsers. Run once.
  • Agent — runs on Mac (iOS and Android). Connects to the relay.
  • Dashboard — the React SPA served by the relay. No separate deploy needed. Includes App Center (build management), Mac Resources (agent monitoring), and more.
  • MCP Server — exposes tapflow as a tool for LLM agents. Claude Code and other MCP-compatible agents can control simulators directly. → MCP Server guide

Released under the MIT License.